<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><link rel="stylesheet" type="text/css" href="style.css" /><script type="text/javascript" src="highlight.js"></script></head><body><pre><span class="hs-comment">-----------------------------------------------------------------------------</span><span>
</span><span id="line-2"></span><span class="hs-comment">--</span><span>
</span><span id="line-3"></span><span class="hs-comment">-- Argument representations used in GHC.StgToCmm.Layout.</span><span>
</span><span id="line-4"></span><span class="hs-comment">--</span><span>
</span><span id="line-5"></span><span class="hs-comment">-- (c) The University of Glasgow 2013</span><span>
</span><span id="line-6"></span><span class="hs-comment">--</span><span>
</span><span id="line-7"></span><span class="hs-comment">-----------------------------------------------------------------------------</span><span>
</span><span id="line-8"></span><span>
</span><span id="line-9"></span><span class="hs-pragma">{-# LANGUAGE LambdaCase #-}</span><span>
</span><span id="line-10"></span><span>
</span><span id="line-11"></span><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">GHC.StgToCmm.ArgRep</span><span> </span><span class="hs-special">(</span><span>
</span><span id="line-12"></span><span>        </span><span class="annot"><a href="GHC.StgToCmm.ArgRep.html#ArgRep"><span class="hs-identifier">ArgRep</span></a></span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.StgToCmm.ArgRep.html#toArgRep"><span class="hs-identifier">toArgRep</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.StgToCmm.ArgRep.html#argRepSizeW"><span class="hs-identifier">argRepSizeW</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-13"></span><span>
</span><span id="line-14"></span><span>        </span><span class="annot"><a href="GHC.StgToCmm.ArgRep.html#argRepString"><span class="hs-identifier">argRepString</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.StgToCmm.ArgRep.html#isNonV"><span class="hs-identifier">isNonV</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.StgToCmm.ArgRep.html#idArgRep"><span class="hs-identifier">idArgRep</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-15"></span><span>
</span><span id="line-16"></span><span>        </span><span class="annot"><a href="GHC.StgToCmm.ArgRep.html#slowCallPattern"><span class="hs-identifier">slowCallPattern</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-17"></span><span>
</span><span id="line-18"></span><span>        </span><span class="hs-special">)</span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-19"></span><span>
</span><span id="line-20"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Prelude.html"><span class="hs-identifier">GHC.Prelude</span></a></span><span>
</span><span id="line-21"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="../../ghc-boot/src/GHC.Platform.html#"><span class="hs-identifier">GHC.Platform</span></a></span><span>
</span><span id="line-22"></span><span>
</span><span id="line-23"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.StgToCmm.Closure.html"><span class="hs-identifier">GHC.StgToCmm.Closure</span></a></span><span>    </span><span class="hs-special">(</span><span> </span><span class="annot"><a href="GHC.StgToCmm.Closure.html#idPrimRep"><span class="hs-identifier">idPrimRep</span></a></span><span> </span><span class="hs-special">)</span><span>
</span><span id="line-24"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Runtime.Heap.Layout.html"><span class="hs-identifier">GHC.Runtime.Heap.Layout</span></a></span><span> </span><span class="hs-special">(</span><span> </span><span class="annot"><a href="GHC.StgToCmm.Types.html#WordOff"><span class="hs-identifier">WordOff</span></a></span><span> </span><span class="hs-special">)</span><span>
</span><span id="line-25"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Types.Id.html"><span class="hs-identifier">GHC.Types.Id</span></a></span><span>            </span><span class="hs-special">(</span><span> </span><span class="annot"><a href="GHC.Types.Var.html#Id"><span class="hs-identifier">Id</span></a></span><span> </span><span class="hs-special">)</span><span>
</span><span id="line-26"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Core.TyCon.html"><span class="hs-identifier">GHC.Core.TyCon</span></a></span><span>          </span><span class="hs-special">(</span><span> </span><span class="annot"><a href="GHC.Core.TyCon.html#PrimRep"><span class="hs-identifier">PrimRep</span></a></span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Core.TyCon.html#primElemRepSizeB"><span class="hs-identifier">primElemRepSizeB</span></a></span><span> </span><span class="hs-special">)</span><span>
</span><span id="line-27"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Types.Basic.html"><span class="hs-identifier">GHC.Types.Basic</span></a></span><span>         </span><span class="hs-special">(</span><span> </span><span class="annot"><a href="GHC.Types.Basic.html#RepArity"><span class="hs-identifier">RepArity</span></a></span><span> </span><span class="hs-special">)</span><span>
</span><span id="line-28"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Settings.Constants.html"><span class="hs-identifier">GHC.Settings.Constants</span></a></span><span>  </span><span class="hs-special">(</span><span> </span><span class="annot"><a href="GHC.Settings.Constants.html#wORD64_SIZE"><span class="hs-identifier">wORD64_SIZE</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Settings.Constants.html#dOUBLE_SIZE"><span class="hs-identifier">dOUBLE_SIZE</span></a></span><span> </span><span class="hs-special">)</span><span>
</span><span id="line-29"></span><span>
</span><span id="line-30"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Utils.Outputable.html"><span class="hs-identifier">GHC.Utils.Outputable</span></a></span><span>
</span><span id="line-31"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Data.FastString.html"><span class="hs-identifier">GHC.Data.FastString</span></a></span><span>
</span><span id="line-32"></span><span>
</span><span id="line-33"></span><span class="hs-comment">-- I extricated this code as this new module in order to avoid a</span><span>
</span><span id="line-34"></span><span class="hs-comment">-- cyclic dependency between GHC.StgToCmm.Layout and GHC.StgToCmm.Ticky.</span><span>
</span><span id="line-35"></span><span class="hs-comment">--</span><span>
</span><span id="line-36"></span><span class="hs-comment">-- NSF 18 Feb 2013</span><span>
</span><span id="line-37"></span><span>
</span><span id="line-38"></span><span class="hs-comment">-------------------------------------------------------------------------</span><span>
</span><span id="line-39"></span><span class="hs-comment">--      Classifying arguments: ArgRep</span><span>
</span><span id="line-40"></span><span class="hs-comment">-------------------------------------------------------------------------</span><span>
</span><span id="line-41"></span><span>
</span><span id="line-42"></span><span class="hs-comment">-- ArgRep is re-exported by GHC.StgToCmm.Layout, but only for use in the</span><span>
</span><span id="line-43"></span><span class="hs-comment">-- byte-code generator which also needs to know about the</span><span>
</span><span id="line-44"></span><span class="hs-comment">-- classification of arguments.</span><span>
</span><span id="line-45"></span><span>
</span><span id="line-46"></span><span class="hs-keyword">data</span><span> </span><span id="ArgRep"><span class="annot"><a href="GHC.StgToCmm.ArgRep.html#ArgRep"><span class="hs-identifier hs-var">ArgRep</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="P"><span class="annot"><a href="GHC.StgToCmm.ArgRep.html#P"><span class="hs-identifier hs-var">P</span></a></span></span><span>   </span><span class="hs-comment">-- GC Ptr</span><span>
</span><span id="line-47"></span><span>            </span><span class="hs-glyph">|</span><span> </span><span id="N"><span class="annot"><a href="GHC.StgToCmm.ArgRep.html#N"><span class="hs-identifier hs-var">N</span></a></span></span><span>   </span><span class="hs-comment">-- Word-sized non-ptr</span><span>
</span><span id="line-48"></span><span>            </span><span class="hs-glyph">|</span><span> </span><span id="L"><span class="annot"><a href="GHC.StgToCmm.ArgRep.html#L"><span class="hs-identifier hs-var">L</span></a></span></span><span>   </span><span class="hs-comment">-- 64-bit non-ptr (long)</span><span>
</span><span id="line-49"></span><span>            </span><span class="hs-glyph">|</span><span> </span><span id="V"><span class="annot"><a href="GHC.StgToCmm.ArgRep.html#V"><span class="hs-identifier hs-var">V</span></a></span></span><span>   </span><span class="hs-comment">-- Void</span><span>
</span><span id="line-50"></span><span>            </span><span class="hs-glyph">|</span><span> </span><span id="F"><span class="annot"><a href="GHC.StgToCmm.ArgRep.html#F"><span class="hs-identifier hs-var">F</span></a></span></span><span>   </span><span class="hs-comment">-- Float</span><span>
</span><span id="line-51"></span><span>            </span><span class="hs-glyph">|</span><span> </span><span id="D"><span class="annot"><a href="GHC.StgToCmm.ArgRep.html#D"><span class="hs-identifier hs-var">D</span></a></span></span><span>   </span><span class="hs-comment">-- Double</span><span>
</span><span id="line-52"></span><span>            </span><span class="hs-glyph">|</span><span> </span><span id="V16"><span class="annot"><a href="GHC.StgToCmm.ArgRep.html#V16"><span class="hs-identifier hs-var">V16</span></a></span></span><span> </span><span class="hs-comment">-- 16-byte (128-bit) vectors of Float/Double/Int8/Word32/etc.</span><span>
</span><span id="line-53"></span><span>            </span><span class="hs-glyph">|</span><span> </span><span id="V32"><span class="annot"><a href="GHC.StgToCmm.ArgRep.html#V32"><span class="hs-identifier hs-var">V32</span></a></span></span><span> </span><span class="hs-comment">-- 32-byte (256-bit) vectors of Float/Double/Int8/Word32/etc.</span><span>
</span><span id="line-54"></span><span>            </span><span class="hs-glyph">|</span><span> </span><span id="V64"><span class="annot"><a href="GHC.StgToCmm.ArgRep.html#V64"><span class="hs-identifier hs-var">V64</span></a></span></span><span> </span><span class="hs-comment">-- 64-byte (512-bit) vectors of Float/Double/Int8/Word32/etc.</span><span>
</span><span id="line-55"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621681004404"><span class="annot"><a href="GHC.Utils.Outputable.html#Outputable"><span class="hs-identifier hs-type">Outputable</span></a></span><span> </span><span class="annot"><a href="GHC.StgToCmm.ArgRep.html#ArgRep"><span class="hs-identifier hs-type">ArgRep</span></a></span></span><span> </span><span class="hs-keyword">where</span><span> </span><span id="local-6989586621681004402"><span class="annot"><span class="annottext">ppr :: ArgRep -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var hs-var hs-var hs-var">ppr</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">(String -&gt; SDoc) -&gt; (ArgRep -&gt; String) -&gt; ArgRep -&gt; SDoc
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">ArgRep -&gt; String
</span><a href="GHC.StgToCmm.ArgRep.html#argRepString"><span class="hs-identifier hs-var">argRepString</span></a></span><span>
</span><span id="line-56"></span><span>
</span><span id="line-57"></span><span class="annot"><a href="GHC.StgToCmm.ArgRep.html#argRepString"><span class="hs-identifier hs-type">argRepString</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.StgToCmm.ArgRep.html#ArgRep"><span class="hs-identifier hs-type">ArgRep</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span>
</span><span id="line-58"></span><span id="argRepString"><span class="annot"><span class="annottext">argRepString :: ArgRep -&gt; String
</span><a href="GHC.StgToCmm.ArgRep.html#argRepString"><span class="hs-identifier hs-var hs-var">argRepString</span></a></span></span><span> </span><span class="annot"><span class="annottext">ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#P"><span class="hs-identifier hs-var">P</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;P&quot;</span></span><span>
</span><span id="line-59"></span><span class="annot"><a href="GHC.StgToCmm.ArgRep.html#argRepString"><span class="hs-identifier hs-var">argRepString</span></a></span><span> </span><span class="annot"><span class="annottext">ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#N"><span class="hs-identifier hs-var">N</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;N&quot;</span></span><span>
</span><span id="line-60"></span><span class="annot"><a href="GHC.StgToCmm.ArgRep.html#argRepString"><span class="hs-identifier hs-var">argRepString</span></a></span><span> </span><span class="annot"><span class="annottext">ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#L"><span class="hs-identifier hs-var">L</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;L&quot;</span></span><span>
</span><span id="line-61"></span><span class="annot"><a href="GHC.StgToCmm.ArgRep.html#argRepString"><span class="hs-identifier hs-var">argRepString</span></a></span><span> </span><span class="annot"><span class="annottext">ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#V"><span class="hs-identifier hs-var">V</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;V&quot;</span></span><span>
</span><span id="line-62"></span><span class="annot"><a href="GHC.StgToCmm.ArgRep.html#argRepString"><span class="hs-identifier hs-var">argRepString</span></a></span><span> </span><span class="annot"><span class="annottext">ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#F"><span class="hs-identifier hs-var">F</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;F&quot;</span></span><span>
</span><span id="line-63"></span><span class="annot"><a href="GHC.StgToCmm.ArgRep.html#argRepString"><span class="hs-identifier hs-var">argRepString</span></a></span><span> </span><span class="annot"><span class="annottext">ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#D"><span class="hs-identifier hs-var">D</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;D&quot;</span></span><span>
</span><span id="line-64"></span><span class="annot"><a href="GHC.StgToCmm.ArgRep.html#argRepString"><span class="hs-identifier hs-var">argRepString</span></a></span><span> </span><span class="annot"><span class="annottext">ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#V16"><span class="hs-identifier hs-var">V16</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;V16&quot;</span></span><span>
</span><span id="line-65"></span><span class="annot"><a href="GHC.StgToCmm.ArgRep.html#argRepString"><span class="hs-identifier hs-var">argRepString</span></a></span><span> </span><span class="annot"><span class="annottext">ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#V32"><span class="hs-identifier hs-var">V32</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;V32&quot;</span></span><span>
</span><span id="line-66"></span><span class="annot"><a href="GHC.StgToCmm.ArgRep.html#argRepString"><span class="hs-identifier hs-var">argRepString</span></a></span><span> </span><span class="annot"><span class="annottext">ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#V64"><span class="hs-identifier hs-var">V64</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;V64&quot;</span></span><span>
</span><span id="line-67"></span><span>
</span><span id="line-68"></span><span class="annot"><a href="GHC.StgToCmm.ArgRep.html#toArgRep"><span class="hs-identifier hs-type">toArgRep</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Core.TyCon.html#PrimRep"><span class="hs-identifier hs-type">PrimRep</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.StgToCmm.ArgRep.html#ArgRep"><span class="hs-identifier hs-type">ArgRep</span></a></span><span>
</span><span id="line-69"></span><span id="toArgRep"><span class="annot"><span class="annottext">toArgRep :: PrimRep -&gt; ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#toArgRep"><span class="hs-identifier hs-var hs-var">toArgRep</span></a></span></span><span> </span><span class="annot"><span class="annottext">PrimRep
</span><a href="GHC.Core.TyCon.html#VoidRep"><span class="hs-identifier hs-var">VoidRep</span></a></span><span>           </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#V"><span class="hs-identifier hs-var">V</span></a></span><span>
</span><span id="line-70"></span><span class="annot"><a href="GHC.StgToCmm.ArgRep.html#toArgRep"><span class="hs-identifier hs-var">toArgRep</span></a></span><span> </span><span class="annot"><span class="annottext">PrimRep
</span><a href="GHC.Core.TyCon.html#LiftedRep"><span class="hs-identifier hs-var">LiftedRep</span></a></span><span>         </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#P"><span class="hs-identifier hs-var">P</span></a></span><span>
</span><span id="line-71"></span><span class="annot"><a href="GHC.StgToCmm.ArgRep.html#toArgRep"><span class="hs-identifier hs-var">toArgRep</span></a></span><span> </span><span class="annot"><span class="annottext">PrimRep
</span><a href="GHC.Core.TyCon.html#UnliftedRep"><span class="hs-identifier hs-var">UnliftedRep</span></a></span><span>       </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#P"><span class="hs-identifier hs-var">P</span></a></span><span>
</span><span id="line-72"></span><span class="annot"><a href="GHC.StgToCmm.ArgRep.html#toArgRep"><span class="hs-identifier hs-var">toArgRep</span></a></span><span> </span><span class="annot"><span class="annottext">PrimRep
</span><a href="GHC.Core.TyCon.html#IntRep"><span class="hs-identifier hs-var">IntRep</span></a></span><span>            </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#N"><span class="hs-identifier hs-var">N</span></a></span><span>
</span><span id="line-73"></span><span class="annot"><a href="GHC.StgToCmm.ArgRep.html#toArgRep"><span class="hs-identifier hs-var">toArgRep</span></a></span><span> </span><span class="annot"><span class="annottext">PrimRep
</span><a href="GHC.Core.TyCon.html#WordRep"><span class="hs-identifier hs-var">WordRep</span></a></span><span>           </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#N"><span class="hs-identifier hs-var">N</span></a></span><span>
</span><span id="line-74"></span><span class="annot"><a href="GHC.StgToCmm.ArgRep.html#toArgRep"><span class="hs-identifier hs-var">toArgRep</span></a></span><span> </span><span class="annot"><span class="annottext">PrimRep
</span><a href="GHC.Core.TyCon.html#Int8Rep"><span class="hs-identifier hs-var">Int8Rep</span></a></span><span>           </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#N"><span class="hs-identifier hs-var">N</span></a></span><span>  </span><span class="hs-comment">-- Gets widened to native word width for calls</span><span>
</span><span id="line-75"></span><span class="annot"><a href="GHC.StgToCmm.ArgRep.html#toArgRep"><span class="hs-identifier hs-var">toArgRep</span></a></span><span> </span><span class="annot"><span class="annottext">PrimRep
</span><a href="GHC.Core.TyCon.html#Word8Rep"><span class="hs-identifier hs-var">Word8Rep</span></a></span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#N"><span class="hs-identifier hs-var">N</span></a></span><span>  </span><span class="hs-comment">-- Gets widened to native word width for calls</span><span>
</span><span id="line-76"></span><span class="annot"><a href="GHC.StgToCmm.ArgRep.html#toArgRep"><span class="hs-identifier hs-var">toArgRep</span></a></span><span> </span><span class="annot"><span class="annottext">PrimRep
</span><a href="GHC.Core.TyCon.html#Int16Rep"><span class="hs-identifier hs-var">Int16Rep</span></a></span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#N"><span class="hs-identifier hs-var">N</span></a></span><span>  </span><span class="hs-comment">-- Gets widened to native word width for calls</span><span>
</span><span id="line-77"></span><span class="annot"><a href="GHC.StgToCmm.ArgRep.html#toArgRep"><span class="hs-identifier hs-var">toArgRep</span></a></span><span> </span><span class="annot"><span class="annottext">PrimRep
</span><a href="GHC.Core.TyCon.html#Word16Rep"><span class="hs-identifier hs-var">Word16Rep</span></a></span><span>         </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#N"><span class="hs-identifier hs-var">N</span></a></span><span>  </span><span class="hs-comment">-- Gets widened to native word width for calls</span><span>
</span><span id="line-78"></span><span class="annot"><a href="GHC.StgToCmm.ArgRep.html#toArgRep"><span class="hs-identifier hs-var">toArgRep</span></a></span><span> </span><span class="annot"><span class="annottext">PrimRep
</span><a href="GHC.Core.TyCon.html#Int32Rep"><span class="hs-identifier hs-var">Int32Rep</span></a></span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#N"><span class="hs-identifier hs-var">N</span></a></span><span>  </span><span class="hs-comment">-- Gets widened to native word width for calls</span><span>
</span><span id="line-79"></span><span class="annot"><a href="GHC.StgToCmm.ArgRep.html#toArgRep"><span class="hs-identifier hs-var">toArgRep</span></a></span><span> </span><span class="annot"><span class="annottext">PrimRep
</span><a href="GHC.Core.TyCon.html#Word32Rep"><span class="hs-identifier hs-var">Word32Rep</span></a></span><span>         </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#N"><span class="hs-identifier hs-var">N</span></a></span><span>  </span><span class="hs-comment">-- Gets widened to native word width for calls</span><span>
</span><span id="line-80"></span><span class="annot"><a href="GHC.StgToCmm.ArgRep.html#toArgRep"><span class="hs-identifier hs-var">toArgRep</span></a></span><span> </span><span class="annot"><span class="annottext">PrimRep
</span><a href="GHC.Core.TyCon.html#AddrRep"><span class="hs-identifier hs-var">AddrRep</span></a></span><span>           </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#N"><span class="hs-identifier hs-var">N</span></a></span><span>
</span><span id="line-81"></span><span class="annot"><a href="GHC.StgToCmm.ArgRep.html#toArgRep"><span class="hs-identifier hs-var">toArgRep</span></a></span><span> </span><span class="annot"><span class="annottext">PrimRep
</span><a href="GHC.Core.TyCon.html#Int64Rep"><span class="hs-identifier hs-var">Int64Rep</span></a></span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#L"><span class="hs-identifier hs-var">L</span></a></span><span>
</span><span id="line-82"></span><span class="annot"><a href="GHC.StgToCmm.ArgRep.html#toArgRep"><span class="hs-identifier hs-var">toArgRep</span></a></span><span> </span><span class="annot"><span class="annottext">PrimRep
</span><a href="GHC.Core.TyCon.html#Word64Rep"><span class="hs-identifier hs-var">Word64Rep</span></a></span><span>         </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#L"><span class="hs-identifier hs-var">L</span></a></span><span>
</span><span id="line-83"></span><span class="annot"><a href="GHC.StgToCmm.ArgRep.html#toArgRep"><span class="hs-identifier hs-var">toArgRep</span></a></span><span> </span><span class="annot"><span class="annottext">PrimRep
</span><a href="GHC.Core.TyCon.html#FloatRep"><span class="hs-identifier hs-var">FloatRep</span></a></span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#F"><span class="hs-identifier hs-var">F</span></a></span><span>
</span><span id="line-84"></span><span class="annot"><a href="GHC.StgToCmm.ArgRep.html#toArgRep"><span class="hs-identifier hs-var">toArgRep</span></a></span><span> </span><span class="annot"><span class="annottext">PrimRep
</span><a href="GHC.Core.TyCon.html#DoubleRep"><span class="hs-identifier hs-var">DoubleRep</span></a></span><span>         </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#D"><span class="hs-identifier hs-var">D</span></a></span><span>
</span><span id="line-85"></span><span class="annot"><a href="GHC.StgToCmm.ArgRep.html#toArgRep"><span class="hs-identifier hs-var">toArgRep</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Core.TyCon.html#VecRep"><span class="hs-identifier hs-type">VecRep</span></a></span><span> </span><span id="local-6989586621681004381"><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621681004381"><span class="hs-identifier hs-var">len</span></a></span></span><span> </span><span id="local-6989586621681004380"><span class="annot"><span class="annottext">PrimElemRep
</span><a href="#local-6989586621681004380"><span class="hs-identifier hs-var">elem</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621681004381"><span class="hs-identifier hs-var">len</span></a></span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; Int
forall a. Num a =&gt; a -&gt; a -&gt; a
</span><a href="../../base/src/GHC.Num.html#%2A"><span class="hs-operator hs-var">*</span></a></span><span class="annot"><span class="annottext">PrimElemRep -&gt; Int
</span><a href="GHC.Core.TyCon.html#primElemRepSizeB"><span class="hs-identifier hs-var">primElemRepSizeB</span></a></span><span> </span><span class="annot"><span class="annottext">PrimElemRep
</span><a href="#local-6989586621681004380"><span class="hs-identifier hs-var">elem</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-86"></span><span>                               </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">16</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#V16"><span class="hs-identifier hs-var">V16</span></a></span><span>
</span><span id="line-87"></span><span>                               </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">32</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#V32"><span class="hs-identifier hs-var">V32</span></a></span><span>
</span><span id="line-88"></span><span>                               </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">64</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#V64"><span class="hs-identifier hs-var">V64</span></a></span><span>
</span><span id="line-89"></span><span>                               </span><span class="annot"><span class="annottext">Int
</span><span class="hs-identifier">_</span></span><span>  </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; ArgRep
forall a. HasCallStack =&gt; String -&gt; a
</span><a href="../../base/src/GHC.Err.html#error"><span class="hs-identifier hs-var">error</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;toArgRep: bad vector primrep&quot;</span></span><span>
</span><span id="line-90"></span><span>
</span><span id="line-91"></span><span class="annot"><a href="GHC.StgToCmm.ArgRep.html#isNonV"><span class="hs-identifier hs-type">isNonV</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.StgToCmm.ArgRep.html#ArgRep"><span class="hs-identifier hs-type">ArgRep</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span>
</span><span id="line-92"></span><span id="isNonV"><span class="annot"><span class="annottext">isNonV :: ArgRep -&gt; Bool
</span><a href="GHC.StgToCmm.ArgRep.html#isNonV"><span class="hs-identifier hs-var hs-var">isNonV</span></a></span></span><span> </span><span class="annot"><span class="annottext">ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#V"><span class="hs-identifier hs-var">V</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span>
</span><span id="line-93"></span><span class="annot"><a href="GHC.StgToCmm.ArgRep.html#isNonV"><span class="hs-identifier hs-var">isNonV</span></a></span><span> </span><span class="annot"><span class="annottext">ArgRep
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span>
</span><span id="line-94"></span><span>
</span><span id="line-95"></span><span class="annot"><a href="GHC.StgToCmm.ArgRep.html#argRepSizeW"><span class="hs-identifier hs-type">argRepSizeW</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-boot/src/GHC.Platform.html#Platform"><span class="hs-identifier hs-type">Platform</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.StgToCmm.ArgRep.html#ArgRep"><span class="hs-identifier hs-type">ArgRep</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.StgToCmm.Types.html#WordOff"><span class="hs-identifier hs-type">WordOff</span></a></span><span> </span><span class="hs-comment">-- Size in words</span><span>
</span><span id="line-96"></span><span id="argRepSizeW"><span class="annot"><span class="annottext">argRepSizeW :: Platform -&gt; ArgRep -&gt; Int
</span><a href="GHC.StgToCmm.ArgRep.html#argRepSizeW"><span class="hs-identifier hs-var hs-var">argRepSizeW</span></a></span></span><span> </span><span id="local-6989586621681004377"><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621681004377"><span class="hs-identifier hs-var">platform</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-glyph">\</span><span class="hs-glyph">case</span><span>
</span><span id="line-97"></span><span>   </span><span class="annot"><span class="annottext">ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#N"><span class="hs-identifier hs-var">N</span></a></span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">1</span></span><span>
</span><span id="line-98"></span><span>   </span><span class="annot"><span class="annottext">ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#P"><span class="hs-identifier hs-var">P</span></a></span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">1</span></span><span>
</span><span id="line-99"></span><span>   </span><span class="annot"><span class="annottext">ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#F"><span class="hs-identifier hs-var">F</span></a></span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">1</span></span><span>
</span><span id="line-100"></span><span>   </span><span class="annot"><span class="annottext">ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#L"><span class="hs-identifier hs-var">L</span></a></span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="GHC.Settings.Constants.html#wORD64_SIZE"><span class="hs-identifier hs-var">wORD64_SIZE</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; Int
forall a. Integral a =&gt; a -&gt; a -&gt; a
</span><a href="../../base/src/GHC.Real.html#quot"><span class="hs-operator hs-var">`quot`</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621681004375"><span class="hs-identifier hs-var">ws</span></a></span><span>
</span><span id="line-101"></span><span>   </span><span class="annot"><span class="annottext">ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#D"><span class="hs-identifier hs-var">D</span></a></span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="GHC.Settings.Constants.html#dOUBLE_SIZE"><span class="hs-identifier hs-var">dOUBLE_SIZE</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; Int
forall a. Integral a =&gt; a -&gt; a -&gt; a
</span><a href="../../base/src/GHC.Real.html#quot"><span class="hs-operator hs-var">`quot`</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621681004375"><span class="hs-identifier hs-var">ws</span></a></span><span>
</span><span id="line-102"></span><span>   </span><span class="annot"><span class="annottext">ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#V"><span class="hs-identifier hs-var">V</span></a></span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">0</span></span><span>
</span><span id="line-103"></span><span>   </span><span class="annot"><span class="annottext">ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#V16"><span class="hs-identifier hs-var">V16</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">16</span></span><span>          </span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; Int
forall a. Integral a =&gt; a -&gt; a -&gt; a
</span><a href="../../base/src/GHC.Real.html#quot"><span class="hs-operator hs-var">`quot`</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621681004375"><span class="hs-identifier hs-var">ws</span></a></span><span>
</span><span id="line-104"></span><span>   </span><span class="annot"><span class="annottext">ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#V32"><span class="hs-identifier hs-var">V32</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">32</span></span><span>          </span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; Int
forall a. Integral a =&gt; a -&gt; a -&gt; a
</span><a href="../../base/src/GHC.Real.html#quot"><span class="hs-operator hs-var">`quot`</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621681004375"><span class="hs-identifier hs-var">ws</span></a></span><span>
</span><span id="line-105"></span><span>   </span><span class="annot"><span class="annottext">ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#V64"><span class="hs-identifier hs-var">V64</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">64</span></span><span>          </span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; Int
forall a. Integral a =&gt; a -&gt; a -&gt; a
</span><a href="../../base/src/GHC.Real.html#quot"><span class="hs-operator hs-var">`quot`</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621681004375"><span class="hs-identifier hs-var">ws</span></a></span><span>
</span><span id="line-106"></span><span>  </span><span class="hs-keyword">where</span><span>
</span><span id="line-107"></span><span>   </span><span id="local-6989586621681004375"><span class="annot"><span class="annottext">ws :: Int
</span><a href="#local-6989586621681004375"><span class="hs-identifier hs-var hs-var">ws</span></a></span></span><span>       </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Platform -&gt; Int
</span><a href="../../ghc-boot/src/GHC.Platform.html#platformWordSizeInBytes"><span class="hs-identifier hs-var">platformWordSizeInBytes</span></a></span><span> </span><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621681004377"><span class="hs-identifier hs-var">platform</span></a></span><span>
</span><span id="line-108"></span><span>
</span><span id="line-109"></span><span class="annot"><a href="GHC.StgToCmm.ArgRep.html#idArgRep"><span class="hs-identifier hs-type">idArgRep</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Types.Var.html#Id"><span class="hs-identifier hs-type">Id</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.StgToCmm.ArgRep.html#ArgRep"><span class="hs-identifier hs-type">ArgRep</span></a></span><span>
</span><span id="line-110"></span><span id="idArgRep"><span class="annot"><span class="annottext">idArgRep :: Id -&gt; ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#idArgRep"><span class="hs-identifier hs-var hs-var">idArgRep</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">PrimRep -&gt; ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#toArgRep"><span class="hs-identifier hs-var">toArgRep</span></a></span><span> </span><span class="annot"><span class="annottext">(PrimRep -&gt; ArgRep) -&gt; (Id -&gt; PrimRep) -&gt; Id -&gt; ArgRep
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">Id -&gt; PrimRep
</span><a href="GHC.StgToCmm.Closure.html#idPrimRep"><span class="hs-identifier hs-var">idPrimRep</span></a></span><span>
</span><span id="line-111"></span><span>
</span><span id="line-112"></span><span class="hs-comment">-- This list of argument patterns should be kept in sync with at least</span><span>
</span><span id="line-113"></span><span class="hs-comment">-- the following:</span><span>
</span><span id="line-114"></span><span class="hs-comment">--</span><span>
</span><span id="line-115"></span><span class="hs-comment">--  * GHC.StgToCmm.Layout.stdPattern maybe to some degree?</span><span>
</span><span id="line-116"></span><span class="hs-comment">--</span><span>
</span><span id="line-117"></span><span class="hs-comment">--  * the RTS_RET(stg_ap_*) and RTS_FUN_DECL(stg_ap_*_fast)</span><span>
</span><span id="line-118"></span><span class="hs-comment">--  declarations in includes/stg/MiscClosures.h</span><span>
</span><span id="line-119"></span><span class="hs-comment">--</span><span>
</span><span id="line-120"></span><span class="hs-comment">--  * the SLOW_CALL_*_ctr declarations in includes/stg/Ticky.h,</span><span>
</span><span id="line-121"></span><span class="hs-comment">--</span><span>
</span><span id="line-122"></span><span class="hs-comment">--  * the TICK_SLOW_CALL_*() #defines in includes/Cmm.h,</span><span>
</span><span id="line-123"></span><span class="hs-comment">--</span><span>
</span><span id="line-124"></span><span class="hs-comment">--  * the PR_CTR(SLOW_CALL_*_ctr) calls in rts/Ticky.c,</span><span>
</span><span id="line-125"></span><span class="hs-comment">--</span><span>
</span><span id="line-126"></span><span class="hs-comment">--  * and the SymI_HasProto(stg_ap_*_{ret,info,fast}) calls and</span><span>
</span><span id="line-127"></span><span class="hs-comment">--  SymI_HasProto(SLOW_CALL_*_ctr) calls in rts/Linker.c</span><span>
</span><span id="line-128"></span><span class="hs-comment">--</span><span>
</span><span id="line-129"></span><span class="hs-comment">-- There may be more places that I haven't found; I merely igrep'd for</span><span>
</span><span id="line-130"></span><span class="hs-comment">-- pppppp and excluded things that seemed ghci-specific.</span><span>
</span><span id="line-131"></span><span class="hs-comment">--</span><span>
</span><span id="line-132"></span><span class="hs-comment">-- Also, it seems at the moment that ticky counters with void</span><span>
</span><span id="line-133"></span><span class="hs-comment">-- arguments will never be bumped, but I'm still declaring those</span><span>
</span><span id="line-134"></span><span class="hs-comment">-- counters, defensively.</span><span>
</span><span id="line-135"></span><span class="hs-comment">--</span><span>
</span><span id="line-136"></span><span class="hs-comment">-- NSF 6 Mar 2013</span><span>
</span><span id="line-137"></span><span>
</span><span id="line-138"></span><span class="annot"><a href="GHC.StgToCmm.ArgRep.html#slowCallPattern"><span class="hs-identifier hs-type">slowCallPattern</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="GHC.StgToCmm.ArgRep.html#ArgRep"><span class="hs-identifier hs-type">ArgRep</span></a></span><span class="hs-special">]</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Data.FastString.html#FastString"><span class="hs-identifier hs-type">FastString</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Types.Basic.html#RepArity"><span class="hs-identifier hs-type">RepArity</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-139"></span><span class="hs-comment">-- Returns the generic apply function and arity</span><span>
</span><span id="line-140"></span><span class="hs-comment">--</span><span>
</span><span id="line-141"></span><span class="hs-comment">-- The first batch of cases match (some) specialised entries</span><span>
</span><span id="line-142"></span><span class="hs-comment">-- The last group deals exhaustively with the cases for the first argument</span><span>
</span><span id="line-143"></span><span class="hs-comment">--   (and the zero-argument case)</span><span>
</span><span id="line-144"></span><span class="hs-comment">--</span><span>
</span><span id="line-145"></span><span class="hs-comment">-- In 99% of cases this function will match *all* the arguments in one batch</span><span>
</span><span id="line-146"></span><span>
</span><span id="line-147"></span><span id="slowCallPattern"><span class="annot"><span class="annottext">slowCallPattern :: [ArgRep] -&gt; (FastString, Int)
</span><a href="GHC.StgToCmm.ArgRep.html#slowCallPattern"><span class="hs-identifier hs-var hs-var">slowCallPattern</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#P"><span class="hs-identifier hs-var">P</span></a></span><span class="annot"><span class="hs-glyph hs-type">:</span></span><span> </span><span class="annot"><span class="annottext">ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#P"><span class="hs-identifier hs-var">P</span></a></span><span class="annot"><span class="hs-glyph hs-type">:</span></span><span> </span><span class="annot"><span class="annottext">ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#P"><span class="hs-identifier hs-var">P</span></a></span><span class="annot"><span class="hs-glyph hs-type">:</span></span><span> </span><span class="annot"><span class="annottext">ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#P"><span class="hs-identifier hs-var">P</span></a></span><span class="annot"><span class="hs-glyph hs-type">:</span></span><span> </span><span class="annot"><span class="annottext">ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#P"><span class="hs-identifier hs-var">P</span></a></span><span class="annot"><span class="hs-glyph hs-type">:</span></span><span> </span><span class="annot"><span class="annottext">ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#P"><span class="hs-identifier hs-var">P</span></a></span><span class="annot"><span class="hs-glyph hs-type">:</span></span><span> </span><span class="annot"><span class="annottext">[ArgRep]
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;stg_ap_pppppp&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">6</span></span><span class="hs-special">)</span><span>
</span><span id="line-148"></span><span class="annot"><a href="GHC.StgToCmm.ArgRep.html#slowCallPattern"><span class="hs-identifier hs-var">slowCallPattern</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#P"><span class="hs-identifier hs-var">P</span></a></span><span class="annot"><span class="hs-glyph hs-type">:</span></span><span> </span><span class="annot"><span class="annottext">ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#P"><span class="hs-identifier hs-var">P</span></a></span><span class="annot"><span class="hs-glyph hs-type">:</span></span><span> </span><span class="annot"><span class="annottext">ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#P"><span class="hs-identifier hs-var">P</span></a></span><span class="annot"><span class="hs-glyph hs-type">:</span></span><span> </span><span class="annot"><span class="annottext">ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#P"><span class="hs-identifier hs-var">P</span></a></span><span class="annot"><span class="hs-glyph hs-type">:</span></span><span> </span><span class="annot"><span class="annottext">ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#P"><span class="hs-identifier hs-var">P</span></a></span><span class="annot"><span class="hs-glyph hs-type">:</span></span><span> </span><span class="annot"><span class="annottext">[ArgRep]
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span>    </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;stg_ap_ppppp&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">5</span></span><span class="hs-special">)</span><span>
</span><span id="line-149"></span><span class="annot"><a href="GHC.StgToCmm.ArgRep.html#slowCallPattern"><span class="hs-identifier hs-var">slowCallPattern</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#P"><span class="hs-identifier hs-var">P</span></a></span><span class="annot"><span class="hs-glyph hs-type">:</span></span><span> </span><span class="annot"><span class="annottext">ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#P"><span class="hs-identifier hs-var">P</span></a></span><span class="annot"><span class="hs-glyph hs-type">:</span></span><span> </span><span class="annot"><span class="annottext">ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#P"><span class="hs-identifier hs-var">P</span></a></span><span class="annot"><span class="hs-glyph hs-type">:</span></span><span> </span><span class="annot"><span class="annottext">ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#P"><span class="hs-identifier hs-var">P</span></a></span><span class="annot"><span class="hs-glyph hs-type">:</span></span><span> </span><span class="annot"><span class="annottext">[ArgRep]
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span>       </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;stg_ap_pppp&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">4</span></span><span class="hs-special">)</span><span>
</span><span id="line-150"></span><span class="annot"><a href="GHC.StgToCmm.ArgRep.html#slowCallPattern"><span class="hs-identifier hs-var">slowCallPattern</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#P"><span class="hs-identifier hs-var">P</span></a></span><span class="annot"><span class="hs-glyph hs-type">:</span></span><span> </span><span class="annot"><span class="annottext">ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#P"><span class="hs-identifier hs-var">P</span></a></span><span class="annot"><span class="hs-glyph hs-type">:</span></span><span> </span><span class="annot"><span class="annottext">ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#P"><span class="hs-identifier hs-var">P</span></a></span><span class="annot"><span class="hs-glyph hs-type">:</span></span><span> </span><span class="annot"><span class="annottext">ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#V"><span class="hs-identifier hs-var">V</span></a></span><span class="annot"><span class="hs-glyph hs-type">:</span></span><span> </span><span class="annot"><span class="annottext">[ArgRep]
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span>       </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;stg_ap_pppv&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">4</span></span><span class="hs-special">)</span><span>
</span><span id="line-151"></span><span class="annot"><a href="GHC.StgToCmm.ArgRep.html#slowCallPattern"><span class="hs-identifier hs-var">slowCallPattern</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#P"><span class="hs-identifier hs-var">P</span></a></span><span class="annot"><span class="hs-glyph hs-type">:</span></span><span> </span><span class="annot"><span class="annottext">ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#P"><span class="hs-identifier hs-var">P</span></a></span><span class="annot"><span class="hs-glyph hs-type">:</span></span><span> </span><span class="annot"><span class="annottext">ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#P"><span class="hs-identifier hs-var">P</span></a></span><span class="annot"><span class="hs-glyph hs-type">:</span></span><span> </span><span class="annot"><span class="annottext">[ArgRep]
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;stg_ap_ppp&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">3</span></span><span class="hs-special">)</span><span>
</span><span id="line-152"></span><span class="annot"><a href="GHC.StgToCmm.ArgRep.html#slowCallPattern"><span class="hs-identifier hs-var">slowCallPattern</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#P"><span class="hs-identifier hs-var">P</span></a></span><span class="annot"><span class="hs-glyph hs-type">:</span></span><span> </span><span class="annot"><span class="annottext">ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#P"><span class="hs-identifier hs-var">P</span></a></span><span class="annot"><span class="hs-glyph hs-type">:</span></span><span> </span><span class="annot"><span class="annottext">ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#V"><span class="hs-identifier hs-var">V</span></a></span><span class="annot"><span class="hs-glyph hs-type">:</span></span><span> </span><span class="annot"><span class="annottext">[ArgRep]
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;stg_ap_ppv&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">3</span></span><span class="hs-special">)</span><span>
</span><span id="line-153"></span><span class="annot"><a href="GHC.StgToCmm.ArgRep.html#slowCallPattern"><span class="hs-identifier hs-var">slowCallPattern</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#P"><span class="hs-identifier hs-var">P</span></a></span><span class="annot"><span class="hs-glyph hs-type">:</span></span><span> </span><span class="annot"><span class="annottext">ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#P"><span class="hs-identifier hs-var">P</span></a></span><span class="annot"><span class="hs-glyph hs-type">:</span></span><span> </span><span class="annot"><span class="annottext">[ArgRep]
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span>             </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;stg_ap_pp&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">2</span></span><span class="hs-special">)</span><span>
</span><span id="line-154"></span><span class="annot"><a href="GHC.StgToCmm.ArgRep.html#slowCallPattern"><span class="hs-identifier hs-var">slowCallPattern</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#P"><span class="hs-identifier hs-var">P</span></a></span><span class="annot"><span class="hs-glyph hs-type">:</span></span><span> </span><span class="annot"><span class="annottext">ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#V"><span class="hs-identifier hs-var">V</span></a></span><span class="annot"><span class="hs-glyph hs-type">:</span></span><span> </span><span class="annot"><span class="annottext">[ArgRep]
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span>             </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;stg_ap_pv&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">2</span></span><span class="hs-special">)</span><span>
</span><span id="line-155"></span><span class="annot"><a href="GHC.StgToCmm.ArgRep.html#slowCallPattern"><span class="hs-identifier hs-var">slowCallPattern</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#P"><span class="hs-identifier hs-var">P</span></a></span><span class="annot"><span class="hs-glyph hs-type">:</span></span><span> </span><span class="annot"><span class="annottext">[ArgRep]
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span>                </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;stg_ap_p&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">1</span></span><span class="hs-special">)</span><span>
</span><span id="line-156"></span><span class="annot"><a href="GHC.StgToCmm.ArgRep.html#slowCallPattern"><span class="hs-identifier hs-var">slowCallPattern</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#V"><span class="hs-identifier hs-var">V</span></a></span><span class="annot"><span class="hs-glyph hs-type">:</span></span><span> </span><span class="annot"><span class="annottext">[ArgRep]
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span>                </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;stg_ap_v&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">1</span></span><span class="hs-special">)</span><span>
</span><span id="line-157"></span><span class="annot"><a href="GHC.StgToCmm.ArgRep.html#slowCallPattern"><span class="hs-identifier hs-var">slowCallPattern</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#N"><span class="hs-identifier hs-var">N</span></a></span><span class="annot"><span class="hs-glyph hs-type">:</span></span><span> </span><span class="annot"><span class="annottext">[ArgRep]
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span>                </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;stg_ap_n&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">1</span></span><span class="hs-special">)</span><span>
</span><span id="line-158"></span><span class="annot"><a href="GHC.StgToCmm.ArgRep.html#slowCallPattern"><span class="hs-identifier hs-var">slowCallPattern</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#F"><span class="hs-identifier hs-var">F</span></a></span><span class="annot"><span class="hs-glyph hs-type">:</span></span><span> </span><span class="annot"><span class="annottext">[ArgRep]
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span>                </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;stg_ap_f&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">1</span></span><span class="hs-special">)</span><span>
</span><span id="line-159"></span><span class="annot"><a href="GHC.StgToCmm.ArgRep.html#slowCallPattern"><span class="hs-identifier hs-var">slowCallPattern</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#D"><span class="hs-identifier hs-var">D</span></a></span><span class="annot"><span class="hs-glyph hs-type">:</span></span><span> </span><span class="annot"><span class="annottext">[ArgRep]
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span>                </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;stg_ap_d&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">1</span></span><span class="hs-special">)</span><span>
</span><span id="line-160"></span><span class="annot"><a href="GHC.StgToCmm.ArgRep.html#slowCallPattern"><span class="hs-identifier hs-var">slowCallPattern</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#L"><span class="hs-identifier hs-var">L</span></a></span><span class="annot"><span class="hs-glyph hs-type">:</span></span><span> </span><span class="annot"><span class="annottext">[ArgRep]
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span>                </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;stg_ap_l&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">1</span></span><span class="hs-special">)</span><span>
</span><span id="line-161"></span><span class="annot"><a href="GHC.StgToCmm.ArgRep.html#slowCallPattern"><span class="hs-identifier hs-var">slowCallPattern</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#V16"><span class="hs-identifier hs-var">V16</span></a></span><span class="annot"><span class="hs-glyph hs-type">:</span></span><span> </span><span class="annot"><span class="annottext">[ArgRep]
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span>              </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;stg_ap_v16&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">1</span></span><span class="hs-special">)</span><span>
</span><span id="line-162"></span><span class="annot"><a href="GHC.StgToCmm.ArgRep.html#slowCallPattern"><span class="hs-identifier hs-var">slowCallPattern</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#V32"><span class="hs-identifier hs-var">V32</span></a></span><span class="annot"><span class="hs-glyph hs-type">:</span></span><span> </span><span class="annot"><span class="annottext">[ArgRep]
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span>              </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;stg_ap_v32&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">1</span></span><span class="hs-special">)</span><span>
</span><span id="line-163"></span><span class="annot"><a href="GHC.StgToCmm.ArgRep.html#slowCallPattern"><span class="hs-identifier hs-var">slowCallPattern</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ArgRep
</span><a href="GHC.StgToCmm.ArgRep.html#V64"><span class="hs-identifier hs-var">V64</span></a></span><span class="annot"><span class="hs-glyph hs-type">:</span></span><span> </span><span class="annot"><span class="annottext">[ArgRep]
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span>              </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;stg_ap_v64&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">1</span></span><span class="hs-special">)</span><span>
</span><span id="line-164"></span><span class="annot"><a href="GHC.StgToCmm.ArgRep.html#slowCallPattern"><span class="hs-identifier hs-var">slowCallPattern</span></a></span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span>                    </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;stg_ap_0&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">0</span></span><span class="hs-special">)</span><span>
</span><span id="line-165"></span></pre></body></html>